//package net.neptech.vm;
//
//
//
//import com.fasterxml.jackson.annotation.JsonInclude;
//import lombok.Data;
//import net.neptech.vm.enums.ResultStatusEnum;
//
//import java.io.Serializable;
//
///**
// * @author liyuxaing
// * @param <T>
// */
//@Data
//@JsonInclude(JsonInclude.Include.NON_NULL)
//public class ResponseResult<T> implements Serializable {
//    private Integer code;
//    private String msg;
//    private T data;
//
//    public ResponseResult() {
//        this.code = ResultStatusEnum.SUCCESS.getCode();
//        this.msg = ResultStatusEnum.SUCCESS.getMsg();
//    }
//
//    public ResponseResult(Integer code, T data) {
//        this.code = code;
//        this.data = data;
//    }
//
//    public ResponseResult(Integer code, String msg, T data) {
//        this.code = code;
//        this.msg = msg;
//        this.data = data;
//    }
//
//    public ResponseResult(Integer code, String msg) {
//        this.code = code;
//        this.msg = msg;
//    }
//
//    public static ResponseResult errorResult(int code, String msg) {
//        ResponseResult result = new ResponseResult();
//        return result.error(code, msg);
//    }
//    public static ResponseResult okResult() {
//        ResponseResult result = new ResponseResult();
//        return result;
//    }
//    public static ResponseResult okResult(int code, String msg) {
//        ResponseResult result = new ResponseResult();
//        return result.ok(code, null, msg);
//    }
//
//    public static ResponseResult okResult(Object data) {
//        ResponseResult result = setAppHttpCodeEnum(ResultStatusEnum.SUCCESS, ResultStatusEnum.SUCCESS.getMsg());
//        if(data!=null) {
//            result.setData(data);
//        }
//        return result;
//    }
//
//    public static ResponseResult errorResult(ResultStatusEnum enums){
//        return setAppHttpCodeEnum(enums,enums.getMsg());
//    }
//    public static ResponseResult errorResult(Integer code, String msg){
//        return setAppHttpCodeEnum(ResultStatusEnum.fromCode(code),msg);
//    }
//
//    public static ResponseResult errorResult(ResultStatusEnum enums, String msg){
//        return setAppHttpCodeEnum(enums,msg);
//    }
//
//    public static ResponseResult setAppHttpCodeEnum(ResultStatusEnum enums){
//        return okResult(enums.getCode(),enums.getMsg());
//    }
//
//    private static ResponseResult setAppHttpCodeEnum(ResultStatusEnum enums, String msg){
//        return okResult(enums.getCode(),msg);
//    }
//
//    public ResponseResult<?> error(Integer code, String msg) {
//        this.code = code;
//        this.msg = msg;
//        return this;
//    }
//
//    public ResponseResult<?> ok(Integer code, T data) {
//        this.code = code;
//        this.data = data;
//        return this;
//    }
//
//    public ResponseResult<?> ok(Integer code, T data, String msg) {
//        this.code = code;
//        this.data = data;
//        this.msg = msg;
//        return this;
//    }
//
//    public ResponseResult<?> ok(T data) {
//        this.data = data;
//        return this;
//    }
//
//}